\section{Allgemeine Beschreibung}

\subsection{Verwendungsidee}
Am Anfang des Vorhabens haben wir uns nach verschiedenen Möglichkeiten eine
virtuelle Realität zu simulieren umgesehen. Unter anderem haben wir Minecraft in
Betracht gezogen, mussten diese Idee allerdings fallen lassen, da Minecraft eine
proprietäre Software ist und somit nicht so zugänglich ist wie OpenSim.\par
Minecraft bietet trotzdem gute Möglichkeiten in anderen Projekten als Simulationsbasis
verwendet zu werden. Durch verschiedene Mod-Schnittstellen ist es möglich den Code
nach eigenen Wünschen zu modifizieren.\par
Schließlich haben wir OpenSim verwendet und konnten auf einen kompetenten Support
im OpenSim-IRC Channel zurückgreifen.

\subsection{Produktidee}
Da wir zuerst verschiedene Simulationsumgebungen für virtuelle Realitäten erprobt
haben, haben wir die in der Vorlesung bereitgestellte Produktidee verwendet.
Das modulare Produktionssystem (MPS) war vom Komplexitätsgrad ausreichend und konnte
auch mit relativ einfachen Mitteln in OpenSim simuliert werden.

\subsection{Viewer Review}
Anfangs haben wir verschiedene Viewer ausprobiert, um zu erfahren, mit welchem
man am Besten die virtuelle Welt erstellen kann. Außerdem haben wir die Viewer
unter Windows und Linux getestet. Folgende Viewer haben wir beurteilen können:
\begin{itemize}
  \item SecondLife Viewer
  \item Imprudance Viewer
  \item Singularity Viewer
\end{itemize}
Zuerst haben wir unter Windows den SecondLife Viewer verwenden, der ganz gut
lief und keine großen Fehler aufwies. Man musste aber die Adresse des Servers
immer im Link zum Programm ändern, wenn sich die IP-Adresse geändert hat.
Unter Linux Fedora funktionierte das Programm leider nicht, obwohl es eine
Linux Version gab. Wir haben die Sourcen des Programms auch selber kompiliert, doch die
Situation änderte sich nicht.\par
Der Imprudance Viewer bietet eine direkt implementierte Unterstützung für
mehrere verschiedene Server. Unter Linux lief die Software
einwandfrei. Allerdings bietet der Imprudance Viewer in der getesteten Version
keinen Mesh-Support. Das bedeutet, dass die in 3ds Max erstellten Komponenten
nicht korrekt angezeigt werden.\par
Den Singularity Viewer haben wir nur kurz benutzt, denn unter Linux
funktionierte er nicht. Hier hatten wir das gleiche Problem, wie auch beim SecondLife Viewer:
Eine Linux Version, die auch beim eigenen Kompilieren nicht lief. 
Unter Windows wurde alles gut angezeigt. Die Funktion für die
Server-Adresse war besser als bei Imprudance. Hier musste man die root-Adresse
eintippen und das Programm hat den Server automatisch im internen
Netz gefunden. Doch leider gab es keine Funktion zum Einfügen der mit 3ds Max selbst
erstellten Module.\par
Darum sind wir zum Entschluss gekommen unter Windows den SecondLife Viewer
und unter Linux zwangsläufig den Imprudance Viewer zu verwenden.

\subsection{Anforderungsdefinition}

Grundlegende Anforderungen an das zu entwickelnde Produkt sehen wie folgt aus:
\begin{itemize}
    \item Einsetzbar in der Lehre
    \item Anpassbar und erweiterbar an vorhandene Software und Hardware
    \item Modular
    \item Freie, offene Software
\end{itemize}
Das Produkt soll zu einem Mechatronik-Baukasten kombiniert werden können.
